Garbage Collection on a Stack

نویسنده

  • Wolfgang Schreiner
چکیده

We present a new scheme for a compacting garbage collector. The algorithm has been derived from observing the behavior of a function stack and is applied by annotating selected function calls. New memory is always allocated from the top of a stack; when an annotated function returns, its result is compacted and the space of temporary objects is reclaimed. A prototype of the algorithm has been implemented; the full source code and some benchmark results are presented. The advantages and drawbacks of the method are discussed in detail.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Stack-Summarizing Control-Flow Analysis of Higher-Order Programs

Two sinks drain precision from higher-order flow analyses: (1) merging of argument values upon procedure call and (2) merging of return values upon procedure return. To combat the loss of precision, these two sinks have been addressed independently. In the case of procedure calls, abstract garbage collection reduces argument merging; while in the case of procedure returns, context-free approach...

متن کامل

Memory Efficient Hard Real-Time Garbage Collection

As the development of hardware progresses, computers are expected to solve increasingly complex problems. However, solving more complex problems requires more complex software. To be able to develop these software systems, new programming languages with new features and higher abstraction levels are introduced. These features are designed to ease development, but sometimes they also make the ru...

متن کامل

Pushdown ow analysis with abstract garbage collection

In the static analysis of functional programs, pushdown flow analysis and abstract garbage collection push the boundaries of what we can learn about programs statically. This work illuminates and poses solutions to theoretical and practical challenges that stand in the way of combining the power of these techniques. Pushdown flow analysis grants unbounded yet computable polyvariance to the anal...

متن کامل

Stack Allocating Objects in Java ( Extended Abstract ) ∗

Allocating objects on the stack rather than the heap reduces the overhead of garbage collection and permits further optimizations. This paper presents a simple and fast algorithm for stack allocating a significant fraction of objects for Java programs. Our implementation in an optimizing batch Java compiler demonstrates the benefit of stack allocation by achieving speed improvements of up to 11...

متن کامل

A Garbage Collection Algorithm for Tricia

We present a new algorithm for garbage collection of the term stack in David H. D. Warren's abstract Prolog machine (WAM). The algorithm exploits the possibilities of using a large address space, with special attention paid to virtual memory behaviour. The time required for the algorithm depends linearly on the size of the areas in which garbage is collected. Pseudo-code is given for the whole ...

متن کامل

Introspective pushdown analysis

In the static analysis of functional programs, pushdown flow analysis and abstract garbage collection skirt just inside the boundaries of soundness and decidability. This work illuminates and conquers the theoretical challenges that stand in the way of combining the power of these techniques. Pushdown flow analysis grants unbounded yet computable polyvariance to the analysis of return-flow in h...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994